\section{soe\+\_\+request.\+h File Reference}
\label{soe__request_8h}\index{soe\+\_\+request.\+h@{soe\+\_\+request.\+h}}


Ether\+C\+AT SoE request structure.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ ec\+\_\+soe\+\_\+request\+\_\+t}
\begin{DoxyCompactList}\small\item\em Sercos-\/over-\/\+Ether\+C\+AT request. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\label{soe__request_8h_a153a97cf0b6f06a25566bced679a548f}} 
void \textbf{ ec\+\_\+soe\+\_\+request\+\_\+init} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em SoE request constructor. \end{DoxyCompactList}\item 
\mbox{\label{soe__request_8h_a62db42f000afec347cb9abeef113e06c}} 
void \textbf{ ec\+\_\+soe\+\_\+request\+\_\+clear} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em SoE request destructor. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+soe\+\_\+request\+\_\+copy} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$, const \textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Copy another SoE request. \end{DoxyCompactList}\item 
\mbox{\label{soe__request_8h_a31de21e8095a24e03eb4a5e5662f7d66}} 
void \textbf{ ec\+\_\+soe\+\_\+request\+\_\+set\+\_\+drive\+\_\+no} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$, uint8\+\_\+t)
\begin{DoxyCompactList}\small\item\em Set drive number. \end{DoxyCompactList}\item 
\mbox{\label{soe__request_8h_a4779a40d4914431cfe445423ae85ff31}} 
void \textbf{ ec\+\_\+soe\+\_\+request\+\_\+set\+\_\+idn} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$, uint16\+\_\+t)
\begin{DoxyCompactList}\small\item\em Set I\+DN. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+soe\+\_\+request\+\_\+alloc} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Pre-\/allocates the data memory. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+soe\+\_\+request\+\_\+copy\+\_\+data} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$, const uint8\+\_\+t $\ast$, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Copies SoE data from an external source. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+soe\+\_\+request\+\_\+append\+\_\+data} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$, const uint8\+\_\+t $\ast$, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Copies SoE data from an external source. \end{DoxyCompactList}\item 
\mbox{\label{soe__request_8h_a68954a5a60ba8dc64abb442be9481e67}} 
void \textbf{ ec\+\_\+soe\+\_\+request\+\_\+read} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Request a read operation. \end{DoxyCompactList}\item 
\mbox{\label{soe__request_8h_a3aaef8f08907e15aad18c6b72995fec9}} 
void \textbf{ ec\+\_\+soe\+\_\+request\+\_\+write} (\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Request a write operation. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Ether\+C\+AT SoE request structure. 



\subsection{Function Documentation}
\mbox{\label{soe__request_8h_af86daad102b4c9882a1efa9a586c601b}} 
\index{soe\+\_\+request.\+h@{soe\+\_\+request.\+h}!ec\+\_\+soe\+\_\+request\+\_\+copy@{ec\+\_\+soe\+\_\+request\+\_\+copy}}
\index{ec\+\_\+soe\+\_\+request\+\_\+copy@{ec\+\_\+soe\+\_\+request\+\_\+copy}!soe\+\_\+request.\+h@{soe\+\_\+request.\+h}}
\subsubsection{ec\+\_\+soe\+\_\+request\+\_\+copy()}
{\footnotesize\ttfamily int ec\+\_\+soe\+\_\+request\+\_\+copy (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$}]{req,  }\item[{const \textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$}]{other }\end{DoxyParamCaption})}



Copy another SoE request. 

\begin{DoxyReturn}{Returns}
Zero on success, otherwise a negative error code. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em req} & SoE request. \\
\hline
{\em other} & Other SoE request to copy from. \\
\hline
\end{DoxyParams}


Definition at line 90 of file soe\+\_\+request.\+c.

\mbox{\label{soe__request_8h_a56a1ad50edce8aa012dc5e14fa395e33}} 
\index{soe\+\_\+request.\+h@{soe\+\_\+request.\+h}!ec\+\_\+soe\+\_\+request\+\_\+alloc@{ec\+\_\+soe\+\_\+request\+\_\+alloc}}
\index{ec\+\_\+soe\+\_\+request\+\_\+alloc@{ec\+\_\+soe\+\_\+request\+\_\+alloc}!soe\+\_\+request.\+h@{soe\+\_\+request.\+h}}
\subsubsection{ec\+\_\+soe\+\_\+request\+\_\+alloc()}
{\footnotesize\ttfamily int ec\+\_\+soe\+\_\+request\+\_\+alloc (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$}]{req,  }\item[{size\+\_\+t}]{size }\end{DoxyParamCaption})}



Pre-\/allocates the data memory. 

If the {\itshape mem\+\_\+size} is already bigger than {\itshape size}, nothing is done.

\begin{DoxyReturn}{Returns}
0 on success, otherwise -\/\+E\+N\+O\+M\+EM. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em req} & SoE request. \\
\hline
{\em size} & Data size to allocate. \\
\hline
\end{DoxyParams}


Definition at line 150 of file soe\+\_\+request.\+c.

\mbox{\label{soe__request_8h_a95c77d9ede649345d55f6e1dacf65cb3}} 
\index{soe\+\_\+request.\+h@{soe\+\_\+request.\+h}!ec\+\_\+soe\+\_\+request\+\_\+copy\+\_\+data@{ec\+\_\+soe\+\_\+request\+\_\+copy\+\_\+data}}
\index{ec\+\_\+soe\+\_\+request\+\_\+copy\+\_\+data@{ec\+\_\+soe\+\_\+request\+\_\+copy\+\_\+data}!soe\+\_\+request.\+h@{soe\+\_\+request.\+h}}
\subsubsection{ec\+\_\+soe\+\_\+request\+\_\+copy\+\_\+data()}
{\footnotesize\ttfamily int ec\+\_\+soe\+\_\+request\+\_\+copy\+\_\+data (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$}]{req,  }\item[{const uint8\+\_\+t $\ast$}]{source,  }\item[{size\+\_\+t}]{size }\end{DoxyParamCaption})}



Copies SoE data from an external source. 

If the {\itshape mem\+\_\+size} is to small, new memory is allocated.


\begin{DoxyRetVals}{Return values}
{\em 0} & Success. \\
\hline
{\em $<$0} & Error code. \\
\hline
\end{DoxyRetVals}

\begin{DoxyParams}{Parameters}
{\em req} & SoE request. \\
\hline
{\em source} & Source data. \\
\hline
{\em size} & Number of bytes in {\itshape source}. \\
\hline
\end{DoxyParams}


Definition at line 179 of file soe\+\_\+request.\+c.

\mbox{\label{soe__request_8h_a436096a029ec15737fa4a363247d037a}} 
\index{soe\+\_\+request.\+h@{soe\+\_\+request.\+h}!ec\+\_\+soe\+\_\+request\+\_\+append\+\_\+data@{ec\+\_\+soe\+\_\+request\+\_\+append\+\_\+data}}
\index{ec\+\_\+soe\+\_\+request\+\_\+append\+\_\+data@{ec\+\_\+soe\+\_\+request\+\_\+append\+\_\+data}!soe\+\_\+request.\+h@{soe\+\_\+request.\+h}}
\subsubsection{ec\+\_\+soe\+\_\+request\+\_\+append\+\_\+data()}
{\footnotesize\ttfamily int ec\+\_\+soe\+\_\+request\+\_\+append\+\_\+data (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$}]{req,  }\item[{const uint8\+\_\+t $\ast$}]{source,  }\item[{size\+\_\+t}]{size }\end{DoxyParamCaption})}



Copies SoE data from an external source. 

If the {\itshape mem\+\_\+size} is to small, new memory is allocated.


\begin{DoxyRetVals}{Return values}
{\em 0} & Success. \\
\hline
{\em $<$0} & Error code. \\
\hline
\end{DoxyRetVals}

\begin{DoxyParams}{Parameters}
{\em req} & SoE request. \\
\hline
{\em source} & Source data. \\
\hline
{\em size} & Number of bytes in {\itshape source}. \\
\hline
\end{DoxyParams}


Definition at line 203 of file soe\+\_\+request.\+c.

